/*----------------------------------------------------------------------------*\
|
|						Public Interface to Muse Technology
|
|							     www.muse.com
| Author : SunJun 
| Email : sundoom@msn.com
\*----------------------------------------------------------------------------*/

//////////////////////////////////////////////////////////////////////////
// $Id: ObjectPanel.h,v 1.4 2009/01/09 15:41:54 sunjun Exp $
//////////////////////////////////////////////////////////////////////////

#pragma once
#include "Controls.h"

//////////////////////////////////////////////////////////////////////////
// ObjectPanel window
//////////////////////////////////////////////////////////////////////////

class ObjectPanel : public CWnd
{
public:
	ObjectPanel();
	virtual ~ObjectPanel();

protected:	
	CComboBox mComboBox;
	PaneToolBar	mToolBar;
	CSplitterWndEx mSplitterWnd;

protected:
	afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
	afx_msg void OnSize(UINT nType, int cx, int cy);
	afx_msg void OnObjectNewGroup();
	afx_msg void OnObjectNewObject();
	afx_msg void OnObjectCopy();
	afx_msg void OnObjectCut();
	afx_msg void OnObjectPaste();
	afx_msg void OnObjectDelete();
	DECLARE_MESSAGE_MAP()
};

//////////////////////////////////////////////////////////////////////////
// ObjectShell window
//////////////////////////////////////////////////////////////////////////

class ObjectShell : public CWnd
{
public:
	DECLARE_DYNCREATE(ObjectShell)
	ObjectShell();
	virtual ~ObjectShell();

private:
	CTreeCtrl mTreeCtrl;
	CImageList mImageList;

protected:
	afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
	afx_msg void OnSize(UINT nType, int cx, int cy);
	afx_msg void OnContextMenu(CWnd* pWnd, CPoint point);
	afx_msg void OnSelchangedTree(NMHDR* pNMHDR, LRESULT* pResult);
	DECLARE_MESSAGE_MAP()
};

//////////////////////////////////////////////////////////////////////////
// ObjectPreview window
//////////////////////////////////////////////////////////////////////////

class ObjectPreview : public CWnd
{
public:
	DECLARE_DYNCREATE(ObjectPreview)
	ObjectPreview();
	virtual ~ObjectPreview();

private:
	HDC mDC;

protected:
	afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);	
	afx_msg void OnPaint();
	afx_msg void OnDestroy();
	DECLARE_MESSAGE_MAP()
};

//////////////////////////////////////////////////////////////////////////
// ObjectView window
//////////////////////////////////////////////////////////////////////////

class ObjectView : public CWnd
{
public:
	DECLARE_DYNCREATE(ObjectView)
	ObjectView();
	virtual ~ObjectView();

private:
	CMFCTabCtrl	mTabCtrl;
	CMFCPropertyGridCtrl mPropertyCtrl;
	ObjectPreview mPreviewCtrl;

protected:
	afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
	afx_msg void OnSize(UINT nType, int cx, int cy);	
	DECLARE_MESSAGE_MAP()
};



//////////////////////////////////////////////////////////////////////////